# tools/file_read.py（补充以下代码）
import os
from typing import Union


def get_absolute_path(relative_path: str) -> str:
    """
    计算文件的绝对路径（基于项目根目录）

    参数:
        relative_path: 相对于项目根目录的路径（如 "data/login_case.yaml"）

    返回:
        目标文件的绝对路径
    """
    # 获取当前工具文件（file_read.py）的绝对路径
    current_file_path = os.path.abspath(__file__)
    # 计算项目根目录（根据实际目录结构调整，这里假设file_read.py在tools目录下，根目录是tools的上一级）
    project_root = os.path.dirname(os.path.dirname(current_file_path))
    # 拼接绝对路径
    absolute_path = os.path.join(project_root, relative_path)
    # 规范化路径（处理Windows/Linux路径分隔符差异）
    return os.path.normpath(absolute_path)


